package com.block.match.service;

import com.block.common.vo.ResponseVo;
import com.block.db.entity.DataMatchOrderInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.block.db.entity.MemberSourceInfo;
import com.block.db.entity.MerchantTaskInfo;
import com.block.match.model.dto.MatchOrderResultDTO;
import com.block.merchant.model.result.DataMatchResult;
import com.block.merchant.model.result.MatchMerchantInfo;
import com.block.merchant.model.vo.MerchantAbiBDataPushInfoVO;

import java.util.List;

/**
 * <p>
 * 商户匹配订单信息 服务类
 * </p>
 *
 * @author 
 * @since 2023-08-15
 */
public interface IDataMatchOrderInfoService extends IService<DataMatchOrderInfo> {

    DataMatchOrderInfo initMatchOrderInfo(MemberSourceInfo memberSourceInfo);

    List<MatchOrderResultDTO> saveMatchOrderResult(DataMatchResult dataMatchResult, DataMatchOrderInfo dataMatchOrderInfo, MemberSourceInfo memberSourceInfo);

    ResponseVo approveToPush(Long uid, String orderId, String itemOrderIds, String approveImageUrl);

    boolean handleManualToPush(MemberSourceInfo memberSourceInfo, MerchantTaskInfo merchantTaskInfo, MatchMerchantInfo matchMerchantInfo) throws Exception;

    MerchantAbiBDataPushInfoVO manualApiBPush(MemberSourceInfo memberSourceInfo, MerchantTaskInfo merchantTaskInfo, MatchMerchantInfo matchMerchantInfo) throws Exception;

    ResponseVo getWaitApproveList(Long uid, String orderNo);

    ResponseVo approveClickCount(String orderNo, String orderItemId);

}
